/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Actividad;

import educar.controllers.PrincipalDocenteController;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.*;

/*_________________________________________________________________________________________________________________________*/
/*_________________________________________________________________________________________________________________________*/
/**
 * Esta clase funciona como mediador (escuchador), resepta(captura) los eventos de acciones,
 * de mouse y de ventana, esta clase se comunica con las clases AgregarActividadController, 
 * la clase ActividadController es invocada por la clase principal del sistema, la PrincipalController
 * @author gaston
 */
/*_________________________________________________________________________________________________________________________*/
/*_________________________________________________________________________________________________________________________*/
public class ActividadController implements ActionListener, WindowListener, MouseListener{

    //Atributo usado para crear una ventana de Actividad
    private ActividadView actividadView;
    
    //Atributo usado para poder comunicarse con el controlador principal
    private PrincipalDocenteController principalDocenteController;
    
    // <editor-fold defaultstate="collapsed" desc="Constructor">
    /**
     * <hr>
     * ActividadController(): Constructor de la clase ActividadController
     * @param principalControl 
     * <hr>
     */
    public ActividadController (PrincipalDocenteController principalDocenteControl){
        principalDocenteController = principalDocenteControl;
        actividadView = new ActividadView();
        actividadView.setActionListener(this);
        actividadView.setWindowListener(this);
        actividadView.addMouseListener(this);
    }
    // </editor-fold>
    
    // <editor-fold defaultstate="collapsed" desc="Action setView">
    /**
     * <hr>
     * setView(): Obtiene la resolucion de la pantalla, 
     * ajuta la ventana a la pantalla y hace visible la  ventana al usuario. 
     * <hr>
     */
    public void setView(){
        Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
        int x = 0;
        int y = 50;
        actividadView.setBounds(x, y, screen.width, (screen.height)-90); //Ajuta la ventana a la pantalla, maximizar la ventana.
        actividadView.setModeloTabla(null);//Muestra una tabla vacia
        actividadView.setVisible(true); //Hace visible la ventana al usuario
        
    }
    
    // </editor-fold>    
    
    // <editor-fold defaultstate="collapsed" desc="Metodos ActionPermormed"> 
@Override
    /**
     * <hr>
     * actionPerformed():metodo que recibe un evento del boton agregar.
     * <hr>
     * @param e 
     */
    public void actionPerformed(ActionEvent e) {
        //Atributo usado para verificar procedencia (boton)
        Object source = e.getSource();
        if (actividadView.getjbAgregar() == source) { //Boton Aceptar
                AgregarActividadController agregarActividadController = new AgregarActividadController(this);
                agregarActividadController.setView();
        }
    }//Fin del metodo actionPerformed
       
    // </editor-fold>
    
    
    /**
     * <hr>
     * AgregarATabla():
     * <hr>
     * @param item 
     */
    public void agregarATabla(String[] item){
        Object[] vector = new Object[4];
        vector[0] = (boolean) false;
        for (int i = 1; i < 4; i++){
            vector[i] = item[i-1];
        }
        actividadView.getModeloTabla().addRow(vector);
    }
    
    // <editor-fold defaultstate="collapsed" desc="Metodos ActionPerformed no usadas"> 
    @Override
    public void windowOpened(WindowEvent e) {
        
    }

    @Override
    public void windowClosing(WindowEvent e) {
        
    }

    @Override
    public void windowClosed(WindowEvent e) {
        
    }

    @Override
    public void windowIconified(WindowEvent e) {
        
    }

    @Override
    public void windowDeiconified(WindowEvent e) {
        
    }

    @Override
    public void windowActivated(WindowEvent e) {
        
    }

    @Override
    public void windowDeactivated(WindowEvent e) {
        
    }

    @Override
    public void mouseClicked(MouseEvent e) {
        
    }

    @Override
    public void mousePressed(MouseEvent e) {
        
    }

    @Override
    public void mouseReleased(MouseEvent e) {
        
    }

    @Override
    public void mouseEntered(MouseEvent e) {
        
    }

    @Override
    public void mouseExited(MouseEvent e) {
        
    }
    
    // </editor-fold> 

 
}//Fin de la clase ActividadController.
